Matthias Clasen [Thu, 10 Dec 2015 04:00:35 +0000 (23:00 -0500)]
frame: Convert to gadgets
As part of this conversion, remove the hardcoded padding around
the label.
Unfortunately, we cannot use the main gadget for drawing the frame
decoration, since we want to draw a custom border instead of the
stock css border that gadgets insist on drawing for us. Therefore,
add an extra gadget with name border and use it just for rendering
the frame.
Carlos Garnacho [Wed, 16 Dec 2015 19:25:54 +0000 (20:25 +0100)]
GtkPopover: Ensure we unset modality before unparenting the popover
Otherwise the gtk_grab_remove() calls on widget destruction will happen
on the default window group, which may leave the real window group
of the popover with a dangling pointer if it is not the default one.
This could be seen on the inspector, open a popover in the properties
list and close the window with alt-F4.
Benjamin Otte [Wed, 16 Dec 2015 19:39:51 +0000 (20:39 +0100)]
label: Position the text properly
The PangoLayout needs to be positioned according to the content
allocation of the gadget, not the widget's allocation.
Benjamin Otte [Wed, 16 Dec 2015 18:48:30 +0000 (19:48 +0100)]
cssnode: Redo first/last-child change tracking
Invisible nodes don't change the first/last-child status of the nodes
after/before them. That means we don't have to just check the state of
the adjacent node when modifying this state, but all their siblings
until we hit a visible node.
The same way, a node is not the first child if it has no previous
sibling, it is the first child if it has no previous visible sibling.
This is important for caching in the global lookup cache.
Benjamin Otte [Wed, 16 Dec 2015 17:44:58 +0000 (18:44 +0100)]
checkbutton: Use a builtin icon
Also, add support to uiltin icons to look up the default size from a
style property.
Matthias Clasen [Wed, 16 Dec 2015 18:48:08 +0000 (13:48 -0500)]
switch: Deprecate style properties
CSS min-width and min-height on the slider node fit this
perfectly. We still fall back to the slider-width and
slider-height style properties if the CSS properties are
not set.
Matthias Clasen [Wed, 16 Dec 2015 18:16:16 +0000 (13:16 -0500)]
Simplify some code
Deal with the min-width/min-height fallback the same way
as in GtkBuiltinIcon.
Carlos Garnacho [Wed, 16 Dec 2015 18:28:53 +0000 (19:28 +0100)]
inspector: Use seat grabs for the "inspect widget" feature
And remove some usages of GdkDeviceManager API.
Carlos Garnacho [Wed, 16 Dec 2015 18:27:34 +0000 (19:27 +0100)]
GtkTreeView: Add ignore deprecation statements
We still need access to floating devices at places.
Carlos Garnacho [Wed, 16 Dec 2015 18:27:06 +0000 (19:27 +0100)]
GtkWindow: Add ignore deprecation statements
We still need access to floating devices at places
Carlos Garnacho [Wed, 16 Dec 2015 18:26:21 +0000 (19:26 +0100)]
GtkWindow: Avoid GdkDeviceManager API
We can iterate over the seats' pointers, instead of over master pointers.
Carlos Garnacho [Wed, 16 Dec 2015 18:24:51 +0000 (19:24 +0100)]
GtkWidget: Add some ignore deprecation statements
We still need access to floating devices here.
Carlos Garnacho [Wed, 16 Dec 2015 18:24:20 +0000 (19:24 +0100)]
GtkMenu: Avoid GdkDeviceManager API
We used to pick a master pointer "at random", use the default seat pointer
instead.
Carlos Garnacho [Wed, 16 Dec 2015 18:23:25 +0000 (19:23 +0100)]
GtkComboBox: Avoid GdkDeviceManager API
We used to pick a master pointer "at random", use the default seat pointer
instead.
Carlos Garnacho [Wed, 16 Dec 2015 18:22:41 +0000 (19:22 +0100)]
scrolledwindow: Remove unneeded code
We no longer take a grab here, no need to undo it on grab_notify
Carlos Garnacho [Wed, 16 Dec 2015 18:21:33 +0000 (19:21 +0100)]
x11: Make fallback window dragging use seat grabs
Also, gdk_seat_ungrab() will undo the implicit grab when EWMH dragging
is used.
Carlos Garnacho [Wed, 16 Dec 2015 18:20:28 +0000 (19:20 +0100)]
x11: Add some ignore deprecation statements
In those places we still need access to floating devices, or we need to
use the GdkDeviceManager as its GdkEventTranslator interface.
Carlos Garnacho [Wed, 16 Dec 2015 18:15:08 +0000 (19:15 +0100)]
x11: Avoid gdk_device_manager_get_client_pointer()
We can use the pointer of the default seat instead.
Carlos Garnacho [Wed, 16 Dec 2015 18:12:18 +0000 (19:12 +0100)]
wayland: Avoid GdkDeviceManager APIs
In most places, we can do with the pointer/keyboard of the default seat
instead of the client pointer. We can also remove some code from
gdk_input_init() because we know for sure there's no floating devices to
care about here.
Carlos Garnacho [Wed, 16 Dec 2015 18:08:52 +0000 (19:08 +0100)]
broadway: Add a few ignore deprecations statements around GdkDeviceManager
There's places where we still need to deal with floating devices, which are
unseen by seats. Ignore deprecations and keep using GdkDeviceManager until
we can forget about floating devices.
Carlos Garnacho [Wed, 16 Dec 2015 18:07:20 +0000 (19:07 +0100)]
GdkDisplay: Add a few ignore deprecations statements around GdkDeviceManager
There's places where we still need to deal with floating devices, which are
unseen by seats. Ignore deprecations and keep using GdkDeviceManager until
we can forget about floating devices.
Carlos Garnacho [Wed, 16 Dec 2015 18:05:49 +0000 (19:05 +0100)]
GdkWindow: Add a few ignore deprecations statements around GdkDeviceManager
There's places where we still need to deal with floating devices, which are
unseen by seats. Ignore deprecations and keep using GdkDeviceManager until
we can forget about floating devices.
Carlos Garnacho [Wed, 16 Dec 2015 18:04:32 +0000 (19:04 +0100)]
GdkDisplay: Iterate through seats' pointers/keyboards in older grab functions
Instead of using the GdkDeviceManager.
Carlos Garnacho [Wed, 16 Dec 2015 18:02:31 +0000 (19:02 +0100)]
GdkWindow: Iterate through seats' pointers/keyboards in older grab functions
Instead of using the GdkDeviceManager.
Carlos Garnacho [Wed, 16 Dec 2015 18:00:39 +0000 (19:00 +0100)]
gdkevents: Fallback to the event device seat
There's places where we don't set a seat yet, plus the places
outside GTK+ where events are created, we should warn and fall
back to the master device seat with these.
Carlos Garnacho [Wed, 16 Dec 2015 17:59:57 +0000 (18:59 +0100)]
gdkevents: Ensure the seat data is copied in events
Carlos Garnacho [Wed, 16 Dec 2015 18:35:38 +0000 (19:35 +0100)]
gdk: Set seat on events generated in common code
Cosimo Cecchi [Wed, 16 Dec 2015 18:40:18 +0000 (10:40 -0800)]
border: silence a GIScanner warning
Cosimo Cecchi [Wed, 16 Dec 2015 18:38:05 +0000 (10:38 -0800)]
gadget: fix copy/paste error in documentation
Cosimo Cecchi [Wed, 16 Dec 2015 18:35:46 +0000 (10:35 -0800)]
gdkevents: fix a compiler warning
Matthias Clasen [Wed, 16 Dec 2015 18:11:24 +0000 (13:11 -0500)]
check button: Deprecate indicator-size
CSS min-width/min-height can do just the same. We still fall
back to the indicator-size style property if the CSS properties
are not set.
Matthias Clasen [Wed, 16 Dec 2015 17:27:53 +0000 (12:27 -0500)]
check button: Deprecate and ignore ::indicator-spacing
This can be done just as well with CSS margins, so
do that instead for Adwaita.
Matthias Clasen [Wed, 16 Dec 2015 16:37:49 +0000 (11:37 -0500)]
model button: Document iconic layout
Document how the CSS nodes look if iconic is TRUE. Add
a .model style class for this case and use it in Adwaita.
Matthias Clasen [Wed, 16 Dec 2015 15:55:52 +0000 (10:55 -0500)]
Revise CSS node documentation
Clarify the use of brackets in the CSS node diagrams:
[] means optional nodes or classes, <> means child widgets.
Benjamin Otte [Wed, 16 Dec 2015 15:28:34 +0000 (16:28 +0100)]
widget-factory: Make things compile again
1e1064398c7607d197c563c42f8901ac67982a9f broke the build.
When I run make, I should make sure to run it in the right directory.
And not in the gtk/ subdirectory that will never build widget-factory...
Benjamin Otte [Wed, 16 Dec 2015 14:43:05 +0000 (15:43 +0100)]
widget-factory: Disconnect clipboard watcher on close
The clipboard emit events after the button we connected it to was
already destroyed (on application close for example), so make sure we
don't try to use that dead button.
Olivier Fourdan [Mon, 14 Dec 2015 15:34:00 +0000 (16:34 +0100)]
wayland: Check transient loop
Gdk Wayland backend walks up the transient windows tree, but does not
check for cycles when doing so.
As a result, if two or more windows are transient to each other, the
Wayland gdk backend will enter an infinite loop.
While this is clearly a bug in the application, gtk+/gdk should be more
robust and handle such errors more gracefully.
To avoid looping infinitely at various point in the code, check for a
possible loop when setting the transient relationship and deny the
request to set a window transient for another if that would create a
loop.
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=759299
Emmanuele Bassi [Wed, 16 Dec 2015 12:42:27 +0000 (12:42 +0000)]
Fix the fix to the last commit
I should not push while compilation is still going on
Emmanuele Bassi [Wed, 16 Dec 2015 12:41:16 +0000 (12:41 +0000)]
Fix previous commit
The scale parameter was missing.
Lars Uebernickel [Wed, 9 Dec 2015 16:48:26 +0000 (17:48 +0100)]
gdk_pixbuf_get_from_window: honor device scale
gdk_pixbuf_get_from_window() paints the given window onto a new cairo
surface. Create that new surface with the same device scale as the
window so that the result is not scaled down on hidpi screens.
This is similar to
657a43e (which was reverted), but doesn't modify the
behavior of gdk_pixbuf_get_from_surface().
https://bugzilla.gnome.org/show_bug.cgi?id=757147
Bastien Nocera [Wed, 16 Dec 2015 11:20:47 +0000 (12:20 +0100)]
shortcuts: Make sure that hidden shortcuts stay hidden
When doing a gtk_widget_show_all() on the shortcuts window,
accelerators for both RTL and LTR directions are being shown.
Make sure that no-show-all is set by default on hidden shortcuts, and
updated if the widget direction changes.
https://bugzilla.gnome.org/show_bug.cgi?id=759541
Matthias Clasen [Wed, 16 Dec 2015 03:01:46 +0000 (22:01 -0500)]
3.19.5
Matthias Clasen [Wed, 16 Dec 2015 04:55:23 +0000 (23:55 -0500)]
paned: Initialize clip properly
This was causing problems in the case when only one of the paned
children is visible - we would use uninitialized memory, leading
to invalide clip regions. Concretely, the signal tab in the inspector
would sometimes not render at all.
Benjamin Otte [Wed, 16 Dec 2015 04:15:04 +0000 (05:15 +0100)]
renderborder: Actually draw the path as one element
Avoids spurious lines that can sometimes be seen going towards the
center of the widget.
Benjamin Otte [Wed, 16 Dec 2015 03:44:52 +0000 (04:44 +0100)]
builtinicon: Change the way size is handled
Make min-width/height have preference over the set default size. This
allows shrinking the widget. The default size is only used if min-width
is not set (or explicitly set to 0.
Benjamin Otte [Wed, 16 Dec 2015 03:08:08 +0000 (04:08 +0100)]
gadget: Add builtin icon gadget
This is to be used in all the places where we now call
gtk_render_activity()/option()/check() etc that in turn call the icon
render function.
Benjamin Otte [Wed, 16 Dec 2015 01:15:20 +0000 (02:15 +0100)]
rendericon: Move a function
The function is identical if used for builtin icons and regular icons
(as per iconhelper). So split it out in a way that doesn't assume
either.
Matthias Clasen [Wed, 16 Dec 2015 02:06:53 +0000 (21:06 -0500)]
paned: Allocate the handle input area properly
Drop the margin misuse and use the border allocation of the
handle gadget. We use negative margins to make the border allocation
larger without pushing the paned children out.
Matthias Clasen [Wed, 16 Dec 2015 02:55:22 +0000 (21:55 -0500)]
gadget: Add api to get the border allocation
This can be useful for giving input windows the right size.
Matthias Clasen [Wed, 16 Dec 2015 01:18:59 +0000 (20:18 -0500)]
paned: Fix size allocation
We were passing negative widths to height-for-width calls that
didn't expect this.
Benjamin Otte [Wed, 16 Dec 2015 00:44:07 +0000 (01:44 +0100)]
progressbar: Change the way the progress gadget gets size
Size of the progress element now grows also when it's close to 0 size.
Previously the size was clamped to the minimum size, now it starts
growing from the minimum size.
So for a 100px trough with a 10px min size progress, the sizes of the
progress element change like this:
old new
0% 10 10
5% 10 14
10% 10 19
20% 20 28
50% 50 55
100% 100 100
Benjamin Otte [Tue, 15 Dec 2015 20:23:59 +0000 (21:23 +0100)]
cssimage: Handle 0x0 images
0x0 images can happen when we fail to load an image - or when we
successfully load a 0x0 image.
Benjamin Otte [Tue, 15 Dec 2015 15:03:25 +0000 (16:03 +0100)]
stylecontext: Builtin images can be (and are) transformed
So don't special-case them out.
Benjamin Otte [Tue, 15 Dec 2015 13:52:17 +0000 (14:52 +0100)]
css: Move enum
I want to use it for a gadget, so it's better in the generic file.
Matthias Clasen [Wed, 16 Dec 2015 00:45:35 +0000 (19:45 -0500)]
Really undo the deprecation of separator style properties
I hit the wrong one in the previous commit. For good measure,
undo depecation for all separator-related style properties.
They are still in use.
Matthias Clasen [Wed, 16 Dec 2015 00:39:57 +0000 (19:39 -0500)]
shortcuts: Fix the circular stack switcher
The buttons need to set min-width now, to make this work.
Matthias Clasen [Tue, 15 Dec 2015 23:52:17 +0000 (18:52 -0500)]
Undo deprecation of the wide-separators style property
This was premature, as this style property is still used
by GtkTreeView and GtkMenu.
Piotr DrÄ…g [Wed, 16 Dec 2015 00:09:00 +0000 (01:09 +0100)]
Updated POTFILES.skip
Matthias Clasen [Tue, 15 Dec 2015 23:40:51 +0000 (18:40 -0500)]
shortcuts: Fix view filtering
When adding invisible groups to the pages/columns, we were
mistakenly creating new columns because the row count
stayed at zero.
https://bugzilla.gnome.org/show_bug.cgi?id=759517
Matthias Clasen [Tue, 15 Dec 2015 23:39:39 +0000 (18:39 -0500)]
gtk-demo: Add another shortcuts window example
The boxes shortcuts, taken straight from boxes.
This demonstrates a problem with view filtering.
Matthias Clasen [Tue, 15 Dec 2015 23:14:16 +0000 (18:14 -0500)]
gadget: Fix a thinko in baseline adjustment
We are making the allocation smaller, so the baseline
needs to get smaller too, not bigger.
Carlos Garnacho [Tue, 15 Dec 2015 22:24:59 +0000 (23:24 +0100)]
gdkevents: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated.
Carlos Garnacho [Tue, 15 Dec 2015 22:22:00 +0000 (23:22 +0100)]
GdkWindow: Listen to ::seat-removed in order to remove pointer info
Our actions on ::device-removed only actually applied to master
pointers, so listening to GdkDisplay::seat-removed and operating
on the seat pointer is equivalent.
Carlos Garnacho [Tue, 15 Dec 2015 22:20:40 +0000 (23:20 +0100)]
GdkWindow: Iterate through seats in gdk_window_set_cursor()
And set the pointer on all seat pointers, equivalent to the master
pointer lookup we were performing with GdkDeviceManager
Carlos Garnacho [Tue, 15 Dec 2015 22:19:49 +0000 (23:19 +0100)]
GdkWindow: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Carlos Garnacho [Tue, 15 Dec 2015 22:18:10 +0000 (23:18 +0100)]
gtkdnd: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Carlos Garnacho [Tue, 15 Dec 2015 22:17:53 +0000 (23:17 +0100)]
GtkPlug: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Carlos Garnacho [Tue, 15 Dec 2015 22:17:37 +0000 (23:17 +0100)]
GtkTooltip: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Carlos Garnacho [Tue, 15 Dec 2015 22:17:22 +0000 (23:17 +0100)]
GtkTreeView: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Carlos Garnacho [Tue, 15 Dec 2015 22:17:07 +0000 (23:17 +0100)]
GtkWidget: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Carlos Garnacho [Tue, 15 Dec 2015 22:16:11 +0000 (23:16 +0100)]
GtkWindow: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Matthias Clasen [Tue, 15 Dec 2015 20:10:08 +0000 (15:10 -0500)]
flowbox: Don't render focus erroneously
The gadget render function should only return TRUE if the
widget has the focus, and wants it rendered.
Carlos Soriano [Tue, 15 Dec 2015 14:56:46 +0000 (15:56 +0100)]
gtkplacesviewrow: plural form for available space
We were not supporting plural form of the available space, which
is a problem in some languages.
However in this case is kind of a difficult matter, since we use a
formatted string from glib with g_format_size.
To fix it, use the same behavior as g_format_size to decide when
it should be used a plural form or not.
https://bugzilla.gnome.org/show_bug.cgi?id=759491
Matthias Clasen [Tue, 15 Dec 2015 19:12:30 +0000 (14:12 -0500)]
listbox: Fix an oversight in the row gadget conversion
Matthias Clasen [Tue, 15 Dec 2015 19:06:11 +0000 (14:06 -0500)]
Add some more updates
Matthias Clasen [Tue, 15 Dec 2015 18:14:49 +0000 (13:14 -0500)]
modelbutton: Remove debug spew
Matthias Clasen [Tue, 15 Dec 2015 15:55:40 +0000 (10:55 -0500)]
Updates for 3.19.5
William Hua [Thu, 22 Oct 2015 03:36:50 +0000 (23:36 -0400)]
gdkborder: add GdkBorder to gdktypes.h
William Hua [Wed, 23 Sep 2015 17:16:31 +0000 (13:16 -0400)]
gdkwindow: move GdkWindowTypeHint to gdktypes.h
Matthias Clasen [Tue, 15 Dec 2015 15:00:21 +0000 (10:00 -0500)]
gdk: Add gdk_drag_drop_done to the docs
Matthias Clasen [Tue, 15 Dec 2015 14:48:16 +0000 (09:48 -0500)]
Complete docs for gtk_stack_get_interpolate_size
Matthias Clasen [Tue, 15 Dec 2015 11:49:35 +0000 (06:49 -0500)]
paned: Add a deprecation note
Matthias Clasen [Tue, 15 Dec 2015 11:29:30 +0000 (06:29 -0500)]
checkbutton: Remove dead code
Matthias Clasen [Tue, 15 Dec 2015 11:27:52 +0000 (06:27 -0500)]
button box: Deprecate style properties
These can all be replaced by standard CSS properties.
Matthias Clasen [Sun, 13 Dec 2015 00:41:40 +0000 (19:41 -0500)]
flowbox: convert to gadgets
Matthias Clasen [Thu, 10 Dec 2015 06:39:26 +0000 (01:39 -0500)]
flowbox: Convert child to gadgets
Matthias Clasen [Sat, 12 Dec 2015 04:48:34 +0000 (23:48 -0500)]
listbox: Convert to gadgets
Matthias Clasen [Thu, 10 Dec 2015 05:43:58 +0000 (00:43 -0500)]
listbox: Convert rows to gadgets
Matthias Clasen [Wed, 9 Dec 2015 05:17:51 +0000 (00:17 -0500)]
paned: Convert to gadgets
Matthias Clasen [Wed, 9 Dec 2015 04:03:38 +0000 (23:03 -0500)]
stack: Convert to gadgets
Matthias Clasen [Wed, 9 Dec 2015 02:43:16 +0000 (21:43 -0500)]
Adwaita: Update separator toolitem styling
Don't set a background for these, since we now draw background.
Matthias Clasen [Wed, 9 Dec 2015 02:14:00 +0000 (21:14 -0500)]
separator toolitem: Convert to gadgets
Matthias Clasen [Tue, 8 Dec 2015 21:51:21 +0000 (16:51 -0500)]
css node: Warn more
gtk_css_node_insert_before/after can easily create cycles
which later lead to stack overflows. Even if we're not
catching all cycles here, at least we can detect obviously
invalid arguments, such as inserting a node next to itself.
Matthias Clasen [Tue, 15 Dec 2015 05:10:16 +0000 (00:10 -0500)]
Adwaita: Remove nonsensical expander theming
No red backgrounds, please.
Matthias Clasen [Tue, 8 Dec 2015 15:04:03 +0000 (10:04 -0500)]
expander: Convert to gadgets
As part of the conversion, add another CSS node for the title
area including the arrow and the label.
Matthias Clasen [Tue, 8 Dec 2015 03:57:34 +0000 (22:57 -0500)]
revealer: Add CSS node docs
Matthias Clasen [Tue, 8 Dec 2015 03:11:52 +0000 (22:11 -0500)]
stackswitcher: Stop hardcoding 100px width
We can now set a min-width in the theme, so we don't have to
hardcode the size request here anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=726371
Matthias Clasen [Sun, 6 Dec 2015 19:27:40 +0000 (14:27 -0500)]
gadget: Add some documentation
Matthias Clasen [Sun, 6 Dec 2015 06:53:29 +0000 (01:53 -0500)]
box: Trivial doc change
All the CSS sections are named CSS nodes, so do the same here.
Matthias Clasen [Sun, 6 Dec 2015 06:52:45 +0000 (01:52 -0500)]
grid: Convert to gadgets